package cliente.negocio;

import cliente.comunicacion.ICliente;
import cliente.comunicacion.Proxy;
import cliente.presentacion.JF_Login;
import cliente.presentacion.iJF_Login;
import java.io.Serializable;

import server.dominio.ISesion;
import server.excepciones.UsuarioIncorrectoException;
import java.net.MalformedURLException;
import java.rmi.NotBoundException;
import java.rmi.RemoteException;
import java.sql.SQLException;

//import server.excepciones.UsuarioIncorrectoException;



public class Controlador_Login implements Serializable{
	private iJF_Login ventana;
        private Proxy proxy;
        private Administrador_Cliente admin_Control;

        public Controlador_Login(Administrador_Cliente admin_contr) {
            admin_Control= admin_contr;
            boolean error= true;
            ventana= new JF_Login(this);
            ventana.mostrar(true);
        

            proxy = Proxy.getProxy();
            error= false;

            if(error){
                System.out.println("Esto casca");
            }

	}

        public ISesion login(){
		ISesion sesion= null;
		if(ventana.getloginString().length()>0 && ventana.getpassString().length()>0){
			//Comprueba login (Lo debe hacer su controlador
                    try {
                        sesion = proxy.identificar(ventana.getloginString(), ventana.getpassString());
                        
                        //Si no hay error, se registra el usuario
                        //registrar(sesion);
                        admin_Control.logincorrecto(sesion);
                        ventana.cerrar();
                    } catch (UsuarioIncorrectoException ex) {
                        admin_Control.log("Login/Password Incorrecto:\nLogin: "+ ventana.getloginString() + "\nPassword: "+ ventana.getpassString());
                        ventana.loginincorrecto(2);
                    } catch (Exception ex){
                        
                    }

		}else{
                    admin_Control.log("Login y/o Password no iniciados");
                    ventana.loginincorrecto(2);
		}
		return sesion;
	}

        public void registrar(ICliente cliente, long idSesion) throws RemoteException, Exception {
            proxy.registrar(cliente, idSesion);
        }

    public void cerrar() {
        ventana.cerrar();
    }


}
